package org.anderground.editor.edits;

import org.anderground.core.model.City;
import org.anderground.core.model.Country;
import org.anderground.core.model.Description;
import org.anderground.core.model.Line;
import org.anderground.core.model.ModelData;
import org.anderground.core.model.Station;
import org.anderground.core.model.Transfer;
import org.anderground.core.model.Transition;
import org.anderground.core.model.Tunnel;

/**
 * @author Eldar Abusalimov (eldar.abusalimov@gmail.com)
 * 
 */
class Editor extends org.anderground.core.model.Editor {

	/** the singleton instance */
	private static Editor instance = new Editor();

	/**
	 * protected constructor
	 */
	private Editor() {
		super();
	}

	public static Station.Editor edit(Station station) {
		return instance.getEditor(station);
	}

	public static Station.Label.Editor edit(Station.Label label) {
		return instance.getEditor(label);
	}

	public static Line.Editor edit(Line line) {
		return instance.getEditor(line);
	}

	public static Transition.Editor edit(Transition transition) {
		return instance.getEditor(transition);
	}

	public static Transfer.Editor edit(Transfer transfer) {
		return instance.getEditor(transfer);
	}

	public static Tunnel.Editor edit(Tunnel tunnel) {
		return instance.getEditor(tunnel);
	}

	public static Description.Editor edit(Description description) {
		return instance.getEditor(description);
	}

	public static City.Editor edit(City city) {
		return instance.getEditor(city);
	}

	public static Country.Editor edit(Country country) {
		return instance.getEditor(country);
	}

	public static ModelData.Editor edit(ModelData modelData) {
		return instance.getEditor(modelData);
	}

}
